package com.healthy.util;

import java.security.GeneralSecurityException;   //jdk开发工具包下的 rt.jar
import java.util.Properties;    //jdk开发工具包下的 rt.jar

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

import com.healthy.entity.YgUsers;
import com.sun.mail.util.MailSSLSocketFactory;

public class QQMailUtil {
	
	//用户注册，邮箱验证码的发送
	public static void sendMailEmail(String title,String content,String email)
            throws AddressException, MessagingException, GeneralSecurityException {
        // 1.创建一个程序与邮件服务器会话对象 Session
        Properties props = new Properties();
        //设置发送的协议
        props.setProperty("mail.transport.protocol", "SMTP");
        props.setProperty("mail.smtp.auth", "true");// 指定验证为true
        //设置发送邮件的服务器
        props.setProperty("mail.host", "smtp.qq.com");
        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        props.put("mail.smtp.ssl.enable", "true");
        props.put("mail.smtp.ssl.socketFactory", sf);
       
        // 创建验证器
        Authenticator auths = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                //设置发送人的帐号和密码
           // 	return new PasswordAuthentication("1410936800@qq.com","wkznihcbqtyjiegi");
                return new PasswordAuthentication("1144618910@qq.com","myffetplqwmtjhhe");
            }
        };
        Session session = Session.getInstance(props,auths);
        // 2.创建一个Message，它相当于是邮件内容
        Message message = new MimeMessage(session);
        //设置发送者
        message.setFrom(new InternetAddress("1144618910@qq.com"));
        //设置发送方式与接收者
        message.setRecipient(RecipientType.TO, new InternetAddress(email));
        //设置邮件主题
        message.setSubject(title);
        //设置邮件内容
        message.setContent(content, "text/html;charset=utf-8");
        // 3.创建 Transport用于将邮件发送
        Transport.send(message);
}
	
	//用户密码找回
	public static void sendMail(String title,String content,YgUsers user)
            throws AddressException, MessagingException, GeneralSecurityException {
        // 1.创建一个程序与邮件服务器会话对象 Session
        Properties props = new Properties();
        //设置发送的协议
        props.setProperty("mail.transport.protocol", "SMTP");
        props.setProperty("mail.smtp.auth", "true");// 指定验证为true
        //设置发送邮件的服务器
        props.setProperty("mail.host", "smtp.qq.com");
        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        props.put("mail.smtp.ssl.enable", "true");
        props.put("mail.smtp.ssl.socketFactory", sf);
       
        // 创建验证器
        Authenticator auths = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                //设置发送人的帐号和密码
           // 	return new PasswordAuthentication("1410936800@qq.com","wkznihcbqtyjiegi");
                return new PasswordAuthentication("1144618910@qq.com","myffetplqwmtjhhe");
            }
        };
        Session session = Session.getInstance(props,auths);
        // 2.创建一个Message，它相当于是邮件内容
        Message message = new MimeMessage(session);
        //设置发送者
        message.setFrom(new InternetAddress("1144618910@qq.com"));
        //设置发送方式与接收者
        message.setRecipient(RecipientType.TO, new InternetAddress(user.getEmail()));
        //设置邮件主题
        message.setSubject(title);
        //设置邮件内容
        message.setContent(content, "text/html;charset=utf-8");
        // 3.创建 Transport用于将邮件发送
        Transport.send(message);
}
	
}
